<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta content="en" name="language">
	<title>GraphicsMagick ChangeLog</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link media="screen" href="docutils-articles.css" type="text/css" rel="stylesheet">

</head>

<body>

<div class="banner">
<img src="images/gm-107x76.png" alt="GraphicMagick logo" width="107" height="76" />
<span class="title">GraphicsMagick</span>
<form action="http://www.google.com/search">
  <input type="hidden" name="domains" value="www.graphicsmagick.org" />
  <input type="hidden" name="sitesearch" value="www.graphicsmagick.org" />
<span class="nowrap"><input type="text" name="q" size="25" maxlength="255" />&nbsp;<input type="submit" name="sa" value="Search" /></span>
</form>
</div>


<div class="navmenu">
<ul>
  <li><a href="index.html">Home</a></li>
  <li><a href="project.html">Project</a></li>
  <li><a href="download.html">Download</a></li>
  <li><a href="README.html">Install</a></li>
  <li><a href="Hg.html">Source</a></li>
  <li><a href="NEWS.html">News</a> </li>
  <li><a href="utilities.html">Utilities</a></li>
  <li><a href="programming.html">Programming</a></li>
  <li><a href="reference.html">Reference</a></li>
</ul>
</div>

<main id="graphicsmagick-changelog">
<h1 class="title">GraphicsMagick ChangeLog</h1>
<p>2025-03-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>NEWS.txt: Update the news.</p></li>
</ul>
</blockquote>
<p>2025-03-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/jxl.c (ReadJXLImage): pixel_format.num_channels needs to
be 2 for grayscale matte.  Addresses oss-fuzz 406320404
&quot;graphicsmagick:coder_JXL_fuzzer: Heap-buffer-overflow in
ImportViewPixelArea&quot;.</p></li>
</ul>
</blockquote>
<p>2025-03-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul>
<li><p>coders/tiff.c (AddIFDExifFields): Check for overflow of computed
unsigned value. Code is only active if EXPERIMENTAL_EXIF_TAGS is
true.  Addresses oss-fuzz 403696329
&quot;graphicsmagick:coder_TIFF_any_fuzzer: Crash in LD_UINT16_HI&quot;.</p>
<p>Reflow code to match the conventions used by the rest of the
project.</p>
</li>
</ul>
</blockquote>
<p>2025-03-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>NEWS.txt: Updated the news.</p></li>
<li><p>fuzzing/oss-fuzz-build.sh (CPPFLAGS): Continue to enable
EXPERIMENTAL_EXIF_TAGS in oss-fuzz build in order to continue
testing writing EXIF in TIFF format.</p></li>
<li><p>coders/tiff.c (EXPERIMENTAL_EXIF_TAGS): Disable
EXPERIMENTAL_EXIF_TAGS by default until libtiff API weaknesses are
resolved.</p></li>
</ul>
</blockquote>
<p>2025-03-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/jp2.c (ReadJP2Image): Add casts in order to avoid
compilation warnings with old Jasper.</p></li>
</ul>
</blockquote>
<p>2025-03-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>README.txt: Refresh README text.</p></li>
</ul>
</blockquote>
<p>2025-02-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>wand/magick_wand.c: Fix comment indentation issue which was
causing some functions to not appear in the formatted
documentation.  Thanks to Robert C. &lt;<a class="reference external" href="mailto:robgcs&#37;&#52;&#48;users&#46;sourceforge&#46;net">robgcs<span>&#64;</span>users<span>&#46;</span>sourceforge<span>&#46;</span>net</a>&gt;
for reporting that documentation for some functions were missing.</p></li>
</ul>
</blockquote>
<p>2025-02-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/nt_base.h: Update notes regarding <cite>_MSC_VER</cite> values and
Visual C++ versions.</p></li>
<li><p>www/index.rst: Promote the Mercurial repository at
<a class="reference external" href="https://foss.heptapod.net/graphicsmagick/graphicsmagick">https://foss.heptapod.net/graphicsmagick/graphicsmagick</a> since it
seems to work better.</p></li>
</ul>
</blockquote>
<p>2025-02-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/magic.c: Make the magic-based format descriptions more
detailed and helpful.</p></li>
</ul>
</blockquote>
<p>2025-02-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/magic.c (ListMagicInfo): Include a format description in
the output of 'gm convert -list magic'.</p></li>
</ul>
</blockquote>
<p>2025-02-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>magick/magic.c: Add a Magic description field in order to help
identify and document format variants based on header magic.
(GetMagickFileFormat): Trace the format description at Coder
level.</p></li>
</ul>
</blockquote>
<p>2025-01-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/png.c (WriteOnePNGImage): Ignore exessively short ICM
profiles.  Should address oss-fuzz 392927700
&quot;graphicsmagick:coder_PNG64_fuzzer: Heap-buffer-overflow in
png_write_iCCP&quot;.</p></li>
<li><p>magick/magic.c (StaticMagic): Identify some more HEIF
sub-formats.</p></li>
<li><p>coders/heif.c (ReadHEIFImage): Request the primary image handle
from libheif. Do not throw an error if there is more than one
image in the heif.  Patch by Kevin Clauson and submitted via
SourceForge patch #84 &quot;Patch: use primary image for heic even when
have multiple image&quot;.</p></li>
</ul>
</blockquote>
<p>2025-01-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>coders/heif.c (ReadMetadata): Only apply Exif orientation if
ignore-transformations is true since HEIF native transformations
will handle orientation otherwise.  Patch by Kevin Clauson via
GraphicsMagick SourceForge patch #83 &quot;Patch: Fix HEIC Orientation
Issue&quot;.</p></li>
</ul>
</blockquote>
<p>2025-01-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>wand/magick_wand.c (MagickSetImagePixels): If update image has
matte, then promote canvas image to have matte.  Support composing
individual channels 'R', 'G', 'B', 'A', 'O', 'T', 'C', 'M', 'Y',
'K'. Intended to address SourceForge issue #752
&quot;MagickResizeImage() discarding alpha values&quot;.</p></li>
</ul>
</blockquote>
<p>2025-01-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/rwfile.c: Fix another GCC warning.</p></li>
</ul>
</blockquote>
<p>2025-01-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>NEWS.txt: Update the news.</p></li>
<li><p>coders/jpeg.c (WriteJPEGImage): Properly invert CMYK components
when writing.  Addresses SourceForge bug #751 &quot;all CMYK colorspace
image become black-white inverted&quot;.  This bug was introduced in
GraphicsMagick 1.3.43. Existing files which appear &quot;corrupt&quot; due
to this issue may be salvaged by using the -negate command like
&quot;gm convert bad-cmyk.jpg -negate good-cmyk.jpg&quot;.</p></li>
<li><p>www/INSTALL-unix.rst: Document the Docutils version necessary to
format reStructuredText files to HTML format.</p></li>
</ul>
</blockquote>
<p>2025-01-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>www/wand/Makefile.am ($(WWWWANDAPIDIR)/%.apirst): Pass an
absolute path to format_c_api_doc.py --include-rst argument.</p></li>
<li><p>magick/magick_endian.c (MagickReverseBits): Function has never
been used for anything.  Mark it as deprecated.
MagickGetBitRevTable(): Function has never been used for anything.
Mark it as deprecated.</p></li>
</ul>
</blockquote>
<p>2025-01-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>NEWS.txt: Update the news.</p></li>
<li><p>Update copyright year and rotate ChangeLog.</p></li>
</ul>
</blockquote>
</main>


<hr class="docutils">
<div class="document">
    <p><a href="Copyright.html">Copyright</a> © GraphicsMagick Group 2002-2025<!--SPONSOR_LOGO--></p>
</div>

</main>
</body>
</html>
